#ifndef POINTPLOT_H
#define POINTPLOT_H

#include <QWidget>
#include <QLabel>
#include "qcustomplot.h"



class PointPlot : public QWidget
{
    Q_OBJECT
public:
    explicit PointPlot(int xWidth, int yHeight, QWidget *parent = 0);
    ~PointPlot();

    struct PointLabel
    {
      QString xLabel;       // x轴的标签
      QString yLabel;       // y轴的标签
      QString topLabel;     // 顶部标签
    };

    enum HistogramType
         {
           HgT_RBC = 0,  // RBC直方图
           HgT_PLT = 1   // PLT直方图
         };
public:
    // 设置标题标签
    void setLabel(PointLabel pointLabel);
    // 设置散点数据
    void setScatterData(const QVector<double> &key, const QVector<double> &value, const QColor &color);
    void clearPlot();
    // 设置背景颜色
    void setBkgroundColor(QColor color);
    // 散点图初始化
    void InitScatterPlot();
    // 直方图初始化
    void InitHistogram(HistogramType type);
    // 重绘
    void replot();
    // 获取QCustomPlot句柄
    QCustomPlot *getPlot(){return m_plot;}

private:
    int m_xWidth;
    int m_yHeight;
    QCustomPlot *m_plot;
    QLabel *m_xLabel;
    QLabel *m_yLabel;
    QLabel *m_topLabel;
    QLabel *m_bottomLabel;
};

#endif // POINTPLOT_H
